#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "login.h"
#include "listadd.h"
#include "introduct.h"
#include "linklist.h"
#include <QMainWindow>
#include <QFile>
#include <QDir>
#include <QCryptographicHash>
#include <QTimer>
#include <QTime>
#include <QInputDialog>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QCloseEvent>



namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_btn_timer_clicked();

    void updateTime();

    void open_winLogin();

    void on_btn_loop_clicked();

    void on_btn_mode_clicked();
    //打开清单界面
    void on_btn_list_clicked();
    //设置界面
    void on_btn_site_clicked();
    //退出登录
    void on_btn_exitLog_clicked();
    //修改密码
    void on_btn_updatePassword_clicked();
    //添加界面
    void on_btn_addList_clicked();
    //刷新界面
    void on_btn_updateList_clicked();
    //从数据库获取信息
    QStringList getList(bool isFinish);
    void setTimeRecord();

    void on_tableWidget_cellDoubleClicked(int row, int column);

    void on_btn_link_clicked();

    void closeEvent(QCloseEvent *e);
    void on_btn_deleteList_clicked();

    void on_btn_allList_clicked();

    void showList();

    void loadStyle();

private:

    void openDatab();

    Ui::MainWindow *ui;
    Login *logWin;
    QSqlDatabase m_db;
    ListAdd *adLiWin;

    QTimer *timer;
    QTime *TimeRecord;  //记录当前时间
    bool isStart;       //计时是否开始
    bool isCountdown;   //是否为倒计时
    bool isTimerInit;

    QString listName;
    introduct *intro;

    bool isCurrent;
    LinkList *linkWidget;

};

#endif // MAINWINDOW_H
